feat(ctb): Two Step Withdrawals V2#3836
Conversation
🦋 Changeset detectedLatest commit: d200b02 The changes in this PR will be included in the next version bump. Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
This PR changes implementation code, but doesn't include a changeset. Did you forget to add one? |
|
These changes will prob break a bunch of tests, happy to help out with fixing them. We have tests in |
|
We will also need to add to the readme docs for installing the rust toolchain with versions if we do decide to start using rust. I have a slight preference for migrating our fuzz testing infra to go because we already have all of the primitives written in go so we don't need to write them again in rust and it'll improve coverage of our go primitives, which are used throughout the |
maurelian
left a comment
There was a problem hiding this comment.
Looking great! Some minor comments.
|
Hey @clabby! This PR has merge conflicts. Please fix them before continuing review. |
73a732e to
f1ce43a
Compare
|
Hey @clabby! This PR has merge conflicts. Please fix them before continuing review. |
…s to `WithdrawalProven`
06a22e2 to
e9223c4
Compare
…n-chain withdrawal hash
|
If we can confirm that the devnet failure is a flake, I think this is ready for merge |
protolambda
left a comment
There was a problem hiding this comment.
The Go part of the PR looks good to me. One small thing about the withdrawal finalization time in the action testing though, and there is more testing we should follow up with in later in PRs.
I believe this is a flake- spinning up my local devnet to double check. |
Update bindings
e98e579 to
609751f
Compare
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## develop #3836 +/- ##
===========================================
- Coverage 43.77% 42.92% -0.86%
===========================================
Files 328 307 -21
Lines 17070 16507 -563
Branches 767 665 -102
===========================================
- Hits 7473 7086 -387
+ Misses 9094 8914 -180
- Partials 503 507 +4
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
This PR has been added to the merge queue, and will be merged soon. |
|
This PR is next in line to be merged, and will be merged as soon as checks pass. |
* Start contract changes for two step withdrawals v2 * Fix maurelian's nits * Refactor Kelvin's SDK changes; SDK/integration test time * Merge w/ `develop` * Add tests for changed output proposal *after* proving the withdrawal hash Whoops * Gas snapshot / comments * Regenerate bindings; Fix E2E Withdrawal test; Add extra indexed params to `WithdrawalProven` * Start fixing indexer integration tests * Fix conflicts; Start updating mark's new `op-e2e` withdrawal action tests * Remove proposal timestamp >= withdrawal timestamp check * Fix mark's `op-e2e` test + add docs to `proveMessage` in SDK * Update changeset * Lint contracts * Merge with `develop` * Re-order mapping declarations so that `finalizedWithdrawals` retains its old storage slot * Merge with `develop` * Start updating devnet tests * Fix devnet tests * Update ERC20 binding * Clean up SDK * Merge with `develop` * Remove `integration-tests-bedrock` package * Add check for equality between locally computed withdrawal hash vs. on-chain withdrawal hash * Add Kelvin's check + complimentary test Update bindings * Fix finalization period in `TestCrossLayerUser`

#Overview
Description
Adds an implementation of the Two Step Withdrawals V2 proposal inspired by #3677.
Checklist
uint128struct packing.finalizeWithdrawTransactiontest_proveWithdrawalTransaction_successtestTestCrossLayerUsertestUpdate Indexer(Will be done in a later PR)Tests
Contracts:
Added:
test_finalizeWithdrawalTransaction_ifOutputRootChanges_revertstest_finalizeWithdrawalTransaction_ifOutputTimestampIsNotFinalized_revertsSDK Tasks
deposit-erc20.tstaskdeposit-eth.tstaskBedrock Integration Tests:
000_withdraw.spec.tsop-e2etests:TestWithdrawalsTestCrossLayerUserIndexer tests
TestBedrockIndexerAdditional context
n/a
Metadata
n/a